using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using Etna.Exportaciones.En;
using Etna.Exportaciones.Ad;

namespace Etna.Exportaciones.Rn
{
   public class RnSolicitudAtencion:RnGeneral
   {
      public EnSolicitudAtencion Leer(int pidSolicitud)
      {
         EnSolicitudAtencion oEnSolicitudAtencion = null;

         using (SqlConnection con = new SqlConnection(CadenaConexion))
         {
            try
            {
               con.Open();
               AdSolicitudAtencion oAdSolicitudAtencion = new AdSolicitudAtencion();
               oEnSolicitudAtencion = oAdSolicitudAtencion.Leer(pidSolicitud, con);
            }
            catch (SqlException ex)
            {
               oEnSolicitudAtencion = null;
            }
         }
         return oEnSolicitudAtencion;
      }

      // Proceso para insertar un registro nuevo
      public bool Insertar(EnSolicitudAtencion poEnSolicitudAtencion)
      {
          bool Resultado = false;

          using (SqlConnection con = new SqlConnection(CadenaConexion))
          {

             try
              {
                  con.Open();
                  AdSolicitudAtencion oAdSolicitudAtencion = new AdSolicitudAtencion();
                  Resultado = oAdSolicitudAtencion.Insertar(poEnSolicitudAtencion, con);
              }
              catch (SqlException ex)
              {
                  Resultado = false;
              }
          }
          return Resultado;
      }
      // Proceso para modificar un registro existente
      public bool Modificar(EnSolicitudAtencion poEnSolicitudAtencion)
      {
          bool Resultado = false;

          using (SqlConnection con = new SqlConnection(CadenaConexion))
          {

             try
              {
                  con.Open();
                  AdSolicitudAtencion oAdSolicitudAtencion = new AdSolicitudAtencion();
                  Resultado = oAdSolicitudAtencion.Modificar(poEnSolicitudAtencion, con);
              }
              catch (SqlException ex)
              {
                  Resultado = false;
              }
          }
          return Resultado;
      }
      public List<EnSolicitudAtencion> Listar(int pidSolicitud = 0,
                                      int pidRequerimiento = 0,
                                        string pRucCliente = null,
                                        string pRazSocialCliente = null,
                                        int pidEstado = 0,
                                        String pdfechaDesde = "",
                                        String pdfechaHasta = ""
                                        )

      {
          List<EnSolicitudAtencion> listaSolicitudAtencion = null;

          using (SqlConnection con = new SqlConnection(CadenaConexion))
          {
              try
              {
                  con.Open();
                  AdSolicitudAtencion oAdSolicitudAtencion = new AdSolicitudAtencion();
                  listaSolicitudAtencion = oAdSolicitudAtencion.Listar(pidSolicitud,pidRequerimiento,pRucCliente,pRazSocialCliente,pidEstado,pdfechaDesde,pdfechaHasta, con);
              }
              catch (SqlException ex)
              {
                  listaSolicitudAtencion = null;
              }
          }
          return listaSolicitudAtencion;
      }

   }
}
